{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "b2a2fe8a",
   "metadata": {},
   "outputs": [],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "import sys\n",
    "sys.path.append('../')\n",
    "\n",
    "import cv2\n",
    "import torch\n",
    "import matplotlib.pyplot as plt\n",
    "import rdkit.Chem as Chem\n",
    "from rdkit.Chem import Draw"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e595350e",
   "metadata": {},
   "source": [
    "### Specify the model checkpoint and image file"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "8fa108cd",
   "metadata": {},
   "outputs": [],
   "source": [
    "MODEL_PATH = '../ckpts/swin_base_char_aux_1m680k.pth'\n",
    "IMAGE_PATH = '../assets/example.png'\n",
    "MORE_IMAGES = ['../assets/example.png', '../assets/example1.png', '../assets/example2.png']"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9d26a48a",
   "metadata": {},
   "source": [
    "### Load the model and run inference"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "4238913f",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/data/rsg/nlp/yujieq/anaconda3/lib/python3.7/site-packages/torch/functional.py:568: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at  ../aten/src/ATen/native/TensorShape.cpp:2228.)\n",
      "  return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]\n",
      "/data/rsg/nlp/yujieq/anaconda3/lib/python3.7/site-packages/torch/utils/checkpoint.py:25: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n",
      "  warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n"
     ]
    }
   ],
   "source": [
    "from molscribe import MolScribe\n",
    "\n",
    "device = torch.device('cpu')\n",
    "model = MolScribe(MODEL_PATH, device)\n",
    "prediction = model.predict_image_file(IMAGE_PATH, return_atoms_bonds=True)\n",
    "smiles = prediction['smiles']\n",
    "molfile = prediction['molfile']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "32c0745a",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Predicted SMILES:\n",
      "Fc1ccc(-c2cc(-c3ccccc3)n(-c3ccccc3)c2)cc1\n",
      "\n",
      "Predicted MolFile:\n",
      "\n",
      "     RDKit          2D\n",
      "\n",
      " 14 15  0  0  0  0  0  0  0  0999 V2000\n",
      "    4.8691   -8.5238    0.0000 R   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "    4.8691   -6.9365    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "    3.5166   -5.9841    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "    4.0576   -4.5556    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "    3.1108   -3.2857    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "    1.4878   -3.4444    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "    0.6763   -2.1746    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "    1.2173   -0.7460    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "    0.2705    0.5238    0.0000 F   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "    2.8403   -0.5873    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "    3.7871   -1.8571    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "    5.5454   -4.5556    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "    6.0864   -5.9841    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "    7.5742   -6.4603    0.0000 R   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "  1  2  1  0\n",
      "  2  3  1  0\n",
      "  2 13  1  0\n",
      "  3  4  2  0\n",
      "  4  5  1  0\n",
      "  4 12  1  0\n",
      "  5  6  2  0\n",
      "  5 11  1  0\n",
      "  6  7  1  0\n",
      "  7  8  2  0\n",
      "  8  9  1  0\n",
      "  8 10  1  0\n",
      " 10 11  2  0\n",
      " 12 13  2  0\n",
      " 13 14  1  0\n",
      "A    1\n",
      "Ph\n",
      "A   14\n",
      "Ph\n",
      "M  END\n",
      "\n"
     ]
    }
   ],
   "source": [
    "image = cv2.imread(IMAGE_PATH)\n",
    "plt.imshow(image)\n",
    "plt.axis('off')\n",
    "plt.show()\n",
    "\n",
    "print('\\nPredicted SMILES:')\n",
    "print(smiles)\n",
    "\n",
    "print('\\nPredicted MolFile:')\n",
    "print(molfile)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "f3ee5a03",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "model.draw_prediction(prediction, image, notebook=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "474f97ca",
   "metadata": {},
   "source": [
    "### Predicted SMILES"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "f563e153",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mol = Chem.MolFromSmiles(smiles)\n",
    "svg = Draw.MolsToGridImage([mol])\n",
    "display(svg)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e1a7b238",
   "metadata": {},
   "source": [
    "### Predicted MolBlock\n",
    "RDKit does not display superatoms. To view the full prediction, copy-paste the molblock\n",
    "to ChemDraw (note the beginning blank line must be included)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "00ac5af2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mol = Chem.MolFromMolBlock(molfile)\n",
    "svg = Draw.MolsToGridImage([mol])\n",
    "display(svg)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e6ed26a2",
   "metadata": {},
   "source": [
    "### Run inference with multiple images"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e3753b5c",
   "metadata": {},
   "outputs": [],
   "source": [
    "predictions = model.predict_image_files(MORE_IMAGES)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
